/**
 * @filename:ModelConfigService 2025-05-14
 * @project starhub-schema  V1.0
 */
package com.starhub.application.interfaces.model;

import com.starhub.common.bean.BrowserBean;
import com.starhub.common.bean.model.ModelConfig;
import com.starhub.common.sys.user.LoginUser;

import java.util.List;
import java.util.Map;
/**
 * @Description:(大模型设置服务层)
 * @version: V1.0
 * @author: luosw
 * 
 */
public interface ModelConfigService {

    /**
    * 新增
    * @param user
    * @param model
    * @return
    */
    Long add(LoginUser user, ModelConfig model);

    /**
    * 更新
    * @param user
    * @param model
    * @return
    */
    ModelConfig update(LoginUser user, ModelConfig model);

    /**
    * 基本信息获取
    * @param user
    * @param id
    * @return
    */
    ModelConfig getInfo(LoginUser user, Long id);


    /**
     * 基本信息获取
     * @param user
     * @param mark
     * @return
     */
    ModelConfig getModel(LoginUser user, String mark);


    /**
     * 基本信息获取
     * @param user
     * @param mark
     * @return
     */
    ModelConfig getModel(String mark);
    
    /**
    * (批量)删除，同时支持单条或者批量,此方法为逻辑删除
    * @param user
    * @param ids
    */
    void deleteByType(LoginUser user, String ids,int deleteType);

   /**
   * 根据id删除，此方法为真实删除
   * @param user
   * @param ids
   */
    void deleteRecord(LoginUser user, String ids);

    /**
    * 列表查询
    * @param user
    * @param params
    */
    List<ModelConfig> getList(LoginUser user, Map<String , Object> params);


    Map<String, BrowserBean> getActiveModel(LoginUser user, Map<String, Object> params);

}
